home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / oolregex / ctrlext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-07  |  4.9 KB  |  163 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1995 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. #ifndef __TREECTLX_H__
  12. #define __TREECTLX_H__
  13.  
  14. #ifdef _AFX_NO_AFXCMN_SUPPORT
  15.     #error Windows Common Control classes not supported in this library variant.
  16. #endif
  17.  
  18. #ifndef __AFXWIN_H__
  19.     #include <afxwin.h>
  20. #endif
  21.  
  22. /////////////////////////////////////////////////////////////////////////////
  23. // TREECTLX - MFC Tree Control Helper Classes
  24.  
  25. class CTreeCursor;
  26. class CTreeCtrlEx;
  27.  
  28.  
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CTreeCursor
  31.  
  32. class CTreeCursor
  33. {
  34.     // Attributes
  35. protected:
  36.     HTREEITEM    m_hTreeItem;
  37.     CTreeCtrlEx    *m_pTree;
  38.  
  39.     // Implementation
  40. protected:
  41.     CTreeCursor CTreeCursor::_Insert(LPCTSTR strItem,int nImageIndex,HTREEITEM hAfter);
  42.  
  43.     // Operation
  44. public:
  45.     CTreeCursor();
  46.     CTreeCursor(HTREEITEM hTreeItem, CTreeCtrlEx* pTree);
  47.     CTreeCursor(const CTreeCursor& posSrc);
  48.     ~CTreeCursor();
  49.     const CTreeCursor& operator =(const CTreeCursor& posSrc);
  50.     operator HTREEITEM();
  51.  
  52.     CTreeCursor InsertAfter(LPCTSTR strItem,HTREEITEM hAfter,int nImageIndex = -1);
  53.     CTreeCursor AddHead(LPCTSTR strItem,int nImageIndex = -1);
  54.     CTreeCursor AddTail(LPCTSTR strItem,int nImageIndex = -1);
  55.  
  56.     int GetImageID();
  57.  
  58.     BOOL GetRect(LPRECT lpRect, BOOL bTextOnly);
  59.     CTreeCursor GetNext(UINT nCode);
  60.     CTreeCursor GetChild();
  61.     CTreeCursor GetNextSibling();
  62.     CTreeCursor GetPrevSibling();
  63.     CTreeCursor GetParent();
  64.     CTreeCursor GetFirstVisible();
  65.     CTreeCursor GetNextVisible();
  66.     CTreeCursor GetPrevVisible();
  67.     CTreeCursor GetSelected();
  68.     CTreeCursor GetDropHilight();
  69.     CTreeCursor GetRoot();
  70.     CString GetText();
  71.     BOOL GetImage(int& nImage, int& nSelectedImage);
  72.     UINT GetState(UINT nStateMask);
  73.     DWORD GetData();
  74.     BOOL Set(UINT nMask, LPCTSTR lpszItem, int nImage, 
  75.         int nSelectedImage,    UINT nState, UINT nStateMask, LPARAM lParam);
  76.     BOOL SetText(LPCTSTR lpszItem);
  77.     BOOL SetImage(int nImage, int nSelectedImage);
  78.     BOOL SetState(UINT nState, UINT nStateMask);
  79.     BOOL SetData(DWORD dwData);
  80.     BOOL HasChildren();
  81. // Operations
  82.     BOOL Delete();
  83.  
  84.     BOOL Expand(UINT nCode = TVE_EXPAND);
  85.     CTreeCursor Select(UINT nCode);
  86.     CTreeCursor Select();
  87.     CTreeCursor SelectDropTarget();
  88.     CTreeCursor SelectSetFirstVisible();
  89.     CEdit* EditLabel();
  90.     CImageList* CreateDragImage();
  91.     BOOL SortChildren();
  92.     BOOL EnsureVisible();
  93. };
  94.  
  95.  
  96. /////////////////////////////////////////////////////////////////////////////
  97. // CTreeCtrlEx
  98.  
  99. class CTreeCtrlEx : public CTreeCtrl
  100. {
  101.     // Attributes
  102. protected:
  103.  
  104.     // Operation
  105. public:
  106.     CTreeCtrlEx();
  107.     ~CTreeCtrlEx();
  108.     CImageList* SetImageList(CImageList* pImageList, int nImageListType = TVSIL_NORMAL);
  109.  
  110.     CTreeCursor GetNextItem(HTREEITEM hItem, UINT nCode);
  111.     CTreeCursor GetChildItem(HTREEITEM hItem);
  112.     CTreeCursor GetNextSiblingItem(HTREEITEM hItem);
  113.     CTreeCursor GetPrevSiblingItem(HTREEITEM hItem);
  114.     CTreeCursor GetParentItem(HTREEITEM hItem);
  115.     CTreeCursor GetFirstVisibleItem();
  116.     CTreeCursor GetNextVisibleItem(HTREEITEM hItem);
  117.     CTreeCursor GetPrevVisibleItem(HTREEITEM hItem);
  118.     CTreeCursor GetSelectedItem();
  119.     CTreeCursor GetDropHilightItem();
  120.     CTreeCursor GetRootItem();
  121.     CTreeCursor InsertItem(LPTV_INSERTSTRUCT lpInsertStruct);
  122.     CTreeCursor InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage, 
  123.         int nSelectedImage,    UINT nState, UINT nStateMask, LPARAM lParam, 
  124.         HTREEITEM hParent, HTREEITEM hInsertAfter);
  125.     CTreeCursor InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, 
  126.         HTREEITEM hInsertAfter = TVI_LAST);
  127.     CTreeCursor InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage,
  128.         HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
  129.     CTreeCursor Select(HTREEITEM hItem, UINT nCode);
  130.     CTreeCursor SelectItem(HTREEITEM hItem);
  131.     CTreeCursor SelectDropTarget(HTREEITEM hItem);
  132.     CTreeCursor SelectSetFirstVisible(HTREEITEM hItem);
  133.     CTreeCursor HitTest(CPoint pt, UINT* pFlags = NULL);
  134.     CTreeCursor HitTest(TV_HITTESTINFO* pHitTestInfo);
  135. };
  136.  
  137. /////////////////////////////////////////////////////////////////////////////
  138. // CListCtrlEx
  139.  
  140. class CListCtrlEx : public CListCtrl
  141. {
  142.     // Attributes
  143. protected:
  144.  
  145.     // Operation
  146. public:
  147.     CListCtrlEx();
  148.     ~CListCtrlEx();
  149.     CImageList* SetImageList(CImageList* pImageList, int nImageListType = TVSIL_NORMAL);
  150.     BOOL AddColumn(
  151.         LPCTSTR strItem,int nItem,int nSubItem = -1,
  152.         int nMask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM,
  153.         int nFmt = LVCFMT_LEFT);
  154.     BOOL AddItem(int nItem,int nSubItem,LPCTSTR strItem,int nImageIndex = -1);
  155. };
  156.  
  157.  
  158. /////////////////////////////////////////////////////////////////////////////
  159.  
  160. #include "CtrlExt.inl"
  161.  
  162. #endif //__TREECTLX_H__
  163.